package FD.Gestores;

import FD.Beans.Usuario;
import java.util.ArrayList;

public class GestorUsuarios {

    public boolean crearUsuario(Usuario uS) {

        String sql = "INSERT INTO fastdbd.fd_usuarios "
                + "(usuario, password, nombre, apellido, fecha_nacimiento, fecha_alta, telefono, celular, rol, estado) "
                + "VALUES ('" + uS.getIdUsuario() + "', '" + uS.getPassword() + "', '" + uS.getNombre() + "', '"
                + uS.getApellido() + "', '" + uS.getFechaNacimiento() + "', '" + uS.getFechaAlta() + "', "
                + uS.getTelefono() + ", " + uS.getCelular() + ", " + uS.getApellido() + ", " + uS.isEstado() + ")";

        return GestorDB.excuteCommand(sql);

    }

    public boolean actualizarUsuario(Usuario uS) {

        String sql = "UPDATE fastdbd.fd_usuarios "
                + "SET ";

        if (!uS.getPassword().equals("")) {
            sql = sql + "password = '" + uS.getPassword() + "',";
        }

        if (!uS.getNombre().equals("")) {
            sql = sql + "nombre = '" + uS.getNombre() + "',";
        }

        if (!uS.getApellido().equals("")) {
            sql = sql + "apellido = '" + uS.getApellido() + "',";
        }

        if (!uS.getFechaNacimiento().equals("")) {
            sql = sql + "fecha_nacimiento = '" + uS.getFechaNacimiento() + "',";
        }

        if (!uS.getFechaAlta().equals("")) {
            sql = sql + "fecha_alta = '" + uS.getFechaAlta() + "',";
        }

        if (String.valueOf(uS.getTelefono()).equals("")) {
            sql = sql + "telefono = " + uS.getTelefono() + ",";
        }

        if (String.valueOf(uS.getCelular()).equals("")) {
            sql = sql + "celular = " + uS.getCelular() + ",";
        }

        if (String.valueOf(uS.getRol()).equals("")) {
            sql = sql + "rol = " + uS.getRol() + ",";
        }


        sql = sql + " estado = " + uS.isEstado() + " WHERE usuario = '" + uS.getIdUsuario() + "'";

        return GestorDB.excuteCommand(sql);

    }

    public boolean activaDesactivaUsuario(Usuario uS) {

        String sql = "UPDATE fastdbd.fd_usuarios "
                + "SET estado = " + uS.isEstado()
                + "WHERE usuario = '" + uS.getIdUsuario() + "'";

        return GestorDB.excuteCommand(sql);

    }

    public Usuario iniciarSession(Usuario uS) {
        
        String sql = "SELECT ROL, NOMBRE, ESTADO FROM fastdbd.fd_usuarios "
                + "WHERE USUARIO = '" + uS.getIdUsuario()
                + "' AND PASSWORD = '" + uS.getPassword() + "'";

        ArrayList a = GestorDB.excuteLoggin(sql);
        
        
        uS.setRol(Integer.parseInt(a.get(1).toString()));
        uS.setNombre(a.get(2).toString());
        uS.setEstado(Boolean.parseBoolean(a.get(3).toString()));
        
        return uS;
    }
}
